/**
 * 
 */
package tur.br.moradadosol.util;

import java.util.Date;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
 * @author alex
 */
public class Mail {
	
	private String titulo;
	private String texto;
	private String destino;

	/**
	 * Construtor da classe Mail.<br>
	 * O remetente está configurado no arquivo de configurações do projeto.<br>
	 * Informar o seguintes parametros: 
	 * @param dest email do destinatário
	 * @param tit titulo do email
	 * @param text texto do email
	 */
	public Mail(String dest, String tit, String text) {
		this.destino = dest;
		this.titulo = tit;
		this.texto = text;
	}
	
	public void send() throws Exception {

		try {
			
			Properties p = new Properties();
			p.put("mail.host", Conf.getProp("mail.host"));
	
			Session session = Session.getInstance(p, null);
			MimeMessage msg = new MimeMessage(session);

			// "de" e "para"
			msg.setFrom(new InternetAddress(Conf.getProp("mail.from")));
			msg.setRecipient(Message.RecipientType.TO, new InternetAddress(destino));

			msg.setSentDate(new Date());

			msg.setSubject(titulo);

			msg.setText(texto);

			// enviando a mensagem
			Transport.send(msg);
		} catch (AddressException e) {
			throw new Exception("Erro de endereço: " + e.getLocalizedMessage(), e);
		} catch (Exception e) {
			throw new Exception("Erro ao enviar email: " + e.getLocalizedMessage(), e);
		}
	}
	

}
